<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>数据和方法实例：基础</title>
    <script src="../assets/js/vue.js"></script>
</head>
<body>
    <div id="app">
        <!-- 使用模板变量 -->
        {{ a }}  
    </div>

    <script>
    // 我们的数据对象
    var data = { a: 1 }

    // 该对象被加入到一个 Vue 实例中
    var vm = new Vue({
        el: '#app',
        data: data
    })

    // 获得这个实例上的 property
    // 返回源数据中对应的字段
    vm.a == data.a // => true

    // 设置 property 也会影响到原始数据
    vm.a = 2
    data.a // => 2

    // ……反之亦然
    data.a = 3
    vm.a // => 3

    // 因为我们结束 js 的时候将值设置成了 3，所以最后页面最终渲染呈现出的结果为 3

    // 值得注意的是只有当实例被创建时就已经存在于 data 中的 property 才是响应式的。
    // 也就是说如果你添加一个新的 property，比如：
    // vm.b = 'hi'
    // 那么对 b 的改动将不会触发任何视图的更新。

    // 如果你知道你会在晚些时候需要一个 property，但是一开始它为空或不存在，那么你仅需要设置一些初始值。比如：
    /*
    data: {
        newTodoText: '',
        visitCount: 0,
        hideCompletedTodos: false,
        todos: [],
        error: null
    }
    */
    </script>
</body>
</html>